package com.ls.controller.smsrecord.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ls.utils.PagingQuery;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

import static com.ls.constant.SystemConstants.SMS_STATUS_TRUE;

/**
 * @ClassName QuertSmsRecordModel
 * @Description 查询短信发送记录分页列表model
 * @Author pengyu
 * @Date 2024/6/25 17:14
 * @Version 1.0
 **/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class QuertSmsRecordModel extends PagingQuery {
    private String outerPhone;
    private String customerPhone;
    @Max(value = 5)
    @Min(value = 1)
    private Integer callType;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private String startTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private String endTime;
    /**
     * 节假日id
     */
    private Long holidayId;

    /**0为挂机短信时call_type生效，1为关怀短信时holiday_id生效，2为物流发送短信，3为预定短信*/
    @Max(value = 3)
    @Min(value = 0)
    private Integer templateCategory;
    private Long categoryId;

    /**短信类型 1为发件短信 2为签收短信 3到件 4派件 5售后*/
    @Max(value = 5)
    @Min(value = 1)
    private Integer sendStatus;
    /**短信状态 1 失败 2 发送中 3 成功*/
    @Max(value = 3)
    @Min(value = 1)
    private Integer smsStatus;
}
